This invention relates generally to systems and methods for browsing or navigating to and retrieving data on a computer, and more particularly relates to browsing data of different varieties and from different sources in a unified manner.
Previous techniques and mechanisms for navigating to and retrieving data in a computer system have had significant drawbacks which pose obstacles to providing unified tools for browsing data seamlessly and transparently from all sources (including local storage, local networks, and remote networks).
An example of a previous system for navigating to and retrieving data is the user interface of the Microsoft Windows(copyright) 95 operating system. This interface displays xe2x80x9cfolder viewsxe2x80x9d which show the contents (e.g., files and sub-directories) of file system directories (also referred to as xe2x80x9cfoldersxe2x80x9d) on the computer""s local storage (e.g., hard or floppy disk drive) or a connected local area network (xe2x80x9cLANxe2x80x9d). The folder views show files in a folder using one of four display modes: large icon, small icon, list, and details. A user navigates to a document by opening successive folder views beginning with a xe2x80x9cmy computerxe2x80x9d or xe2x80x9cnetwork neighborhoodxe2x80x9d folder view (which are a top or xe2x80x9crootxe2x80x9d folder in the file systems of the local storage and LAN, respectively), and then selecting a particular file represented in the folder view. In response, the operating system loads an application program associated with the file, and causes the application program to xe2x80x9copenxe2x80x9d the file. This results in the application program displaying the contents of the file in a window (i.e., rectangular display area on the computer monitor""s screen).
These folder views provide a unified and consistent way of navigating to data stored as files in a computer""s local storage or on a connected LAN. But, navigation using the folder views also is limited in many respects. The folder views do not permit equivalent navigation to data stored remotely, such as on the Internet or on-line services. The folder views also do not retain any navigation xe2x80x9cstatexe2x80x9d information, which would allow retracing or returning to data which has been previously navigated. The only state remaining after navigation with a folder view is that the folder view in which a file is selected remains open as a separate window in the Windows(copyright) 95 user interface.
Another example of a previous navigation system is an Internet browser, such as the Netscape Navigator or the Microsoft(copyright) Internet Explorer. Internet browsers have generally supported navigation using hyperlinks between hypertext documents residing on the World-Wide Web. The Internet is a global network of cooperatively interconnected computer networks, consisting of millions of individual computers. A portion of the Internet referred to as the xe2x80x9cWorld-Wide Webxe2x80x9d consists of computers, also referred to as xe2x80x9csites,xe2x80x9d which make multi-media documents in hyper-text mark-up language (HTML) format generally available for downloading or retrieval by individuals having a computer with Internet access.
The HTML documents can contain xe2x80x9chyperlinks,xe2x80x9d which are references (e.g., in the form of a uniform resource locator or URL) to another HTML document on the World-Wide Web or to another part of the same document. Generally, the hyperlinks are displayed as underlined or otherwise highlighted text, or a graphic within the document which the user can activate by xe2x80x9cclickingxe2x80x9d using a mouse or other input device. When a hyperlink is activated, the Internet browser navigates to the document that the hyperlink references by retrieving and displaying the referenced document in place of a currently displayed document.
Internet browsers typically maintain navigation state information in the form of a navigation log or xe2x80x9chistoryxe2x80x9d of previously navigated documents. The Browser uses the history to provide xe2x80x9cgo backxe2x80x9d and xe2x80x9cgo forwardxe2x80x9d controls with which the user can backtrack and retrace a path between previously navigated documents. Some browsers also provide a xe2x80x9cfavoritesxe2x80x9d or xe2x80x9cbookmarkxe2x80x9d feature with which the user creates a list of user-selected HTML documents for future reference. The user can later return to the document by selecting it from the favorites list.
However, previous Internet browsers also have failed to provide unified browsing of different varieties of data from different sources. The typical previous Internet browser is an HTML document viewer application which can display an HTML document within an application window, and supports hyperlink navigation which replaces one HTML document with another in the same application window. (An application window is the display area under control of the application in a graphical user interface (GUI) of an operating system.) This typical browser cannot display other varieties of documents (e.g., a Microsoft(copyright) Word application document), and doesn""t allow hyperlink navigation to such documents. In short, such typical browsers allow hyperlink navigation between only HTML documents and only within a single application window.
One browser, the Microsoft(copyright) Internet Explorer, version 2.0 (hereafter the IE 2.0 browser), supports hyperlink navigation to a non-HTML document in a separate application window. More specifically, if the destination document of a hyperlink is a non-HTML document, the IE 2.0 browser determines the application associated with the document (such as by looking up the document""s file name extension in the Windows(copyright) operating system registry) and causes that application to be launched with the document opened in a separate application window (e.g., through a shell execute command of the Windows(copyright) operating system). For example, if the user activates a hyperlink to a Microsoft(copyright) Word document on the Internet (at e.g., xe2x80x9chttp://www.microsoft.com/intdev/ie2spec.docxe2x80x9d), the IE 2.0 browser causes the Microsoft(copyright) Word application to be loaded (if the application is installed on that computer) and to open the document in its window.
However, the IE 2.0 browser still fails to provide unified navigation. When a hyperlink is navigated to a separate application window of a non-HTML document with the IE 2.0 browser, hyperlink navigation is effectively xe2x80x9cdead-ended.xe2x80x9d To continue hyperlink navigation, the user must switch windows back to the IE 2.0 browser window. There also is no xe2x80x9cgo backxe2x80x9d hyperlink control or command available to return from the non-HTML document in the separate application window back to the HTML document in the IE 2.0 browser window. Instead, the user must switch windows using operating system mechanisms, such as the xe2x80x9ccontrol +escapexe2x80x9d or xe2x80x9ccontrol +tabxe2x80x9d hot key combinations of the Microsoft Windows(copyright) operating system. Thus, hyperlink navigation in the IE 2.0 browser is still limited to a single application window since the separate application window of a non-HTML document cannot fully participate in hyperlink navigation.
Further, the hyperlink navigation of the IE 2.0 browser to a non-HTML document in a separate application window does not have the same effect as typical hyperlink navigation. In typical hyperlink navigation, navigating a hyperlink replaces the document which contains the hyperlink with another document that is the destination or target of the hyperlink. Conversely, when navigating to a non-HTML document, the IE 2.0 browser causes an application associated with the non-HTML document to be launched in a separate window. This separate application window can be nearly anywhere on the computer screen, and may be either windowed or full screen (typical application windows retain the size and position settings from when they were last open). Meanwhile, the HTML document that contains the hyperlink remains open in the IE 2.0 browser window. As a result, unless both the IE 2.0 browser window and the separate application window both happen to be full-sized, the document displayed in the separate application window does not replace the HTML document in the IE 2.0 browser window and may not overlap any part of the IE 2.0 browser window.
A unified browsing environment based on the hyperlink navigation browsing model is provided in the present invention by an object-oriented framework and system having objects, programming interfaces, object integration interfaces, and methods for supporting unified navigation among different varieties of documents, data, and application programs. The invention overcomes the limitation in previous Internet browsers of navigating within a single application window, and provides seamless navigation between multiple document types and applications.
According to one aspect of the invention, the object-oriented framework includes a hyperlink object which encapsulates information needed to navigate a hyperlink, and the action of navigating the hyperlink. In the illustrated embodiment of the invention, the hyperlink object is a system-defined object which supports an integration interface that allows other programs to use the hyperlink object for navigating the hyperlink. The hyperlink object contains a moniker to a target of the hyperlink, a character string designating a destination location within the target, a descriptive name for the hyperlink (xe2x80x9cfriendly namexe2x80x9d), and other parameters.
According to another aspect of the invention, the object-oriented framework further includes a browse context object and integration interfaces for a hyperlink container object, a hyperlink target object and a hyperlink frame object. The browse context object maintains a history of navigated hyperlinks, and other context information for hyperlink navigation including window size and position. The integration interfaces of these objects allow multiple different applications to interact with the browse context so as to participate fully in hyperlink navigation. With the browse context and integration interfaces, the applications can provide xe2x80x9cgo backxe2x80x9d and xe2x80x9cgo forwardxe2x80x9d controls which retrace prior hyperlink navigation activity between the applications. The applications also can use the browse context to position and size the destination application window of the hyperlink so as to create the appearance of replacing the originating application window of the hyperlink. The system thereby allows seamless hyperlink navigation between different document types and applications.
According to a further aspect of the invention, the system also includes a set of programming interfaces which allow applications to participate in unified browsing without implementing objects to support the integration interfaces.
Additional features and advantages of the invention will be made apparent from the following detailed description of an illustrated embodiment which proceeds with reference to the accompanying drawings.